package com.dc.designPattern._16_observer.impl;

/**
 * Description: 观察者模式_客户端
 * @author: gdc
 * @date: 2021/5/20
 * @version 1.0
 */
public class Client {

    public static void main(String[] args){
        // step 1 创建气象数据（订阅者）
        WeatherData subject = new WeatherData();

        // step 2 创建观察者者，并添加到订阅者中
        BaiduSite baiduSite = new BaiduSite();
        ALiSite aLiSite = new ALiSite();

        subject.register(baiduSite);
        subject.register(aLiSite);

        // step 3 设置数据, 并同步到观察者
        subject.setData(32.1, 12.4, 5.2);
        subject.dataChange();

        System.out.println("移除观察者------------------------------- ");

        // 移除观察者者场景
        subject.remove(aLiSite);
        subject.setData(34.4, 15.2, 4.2);
        subject.dataChange();
    }
}
